#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QPainter>
#include<QtMath>
#include<QTimer>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    //初始化电池的属性
    void init();
    //绘制电池边框和头部
    void drawBorder(QPainter *painter);
    //绘制电池内部背景
    void drawBackground(QPainter *painter);
    //绘制电池内部电量文字
    void drawBackText(QPainter *painter);
protected:
    virtual void paintEvent(QPaintEvent *event) override;

private slots:
    //改变电池的电量值
    void changeValue();
private:
    Ui::Widget *ui;
    //电池主体部分
    QRectF m_batteryRect;
    //定时器
    QTimer *m_timer;
    //内部边距
    int m_margin;
    //电池电量是否增加或者减少
    bool m_isForward;
    //电池当前电量
    int m_currentValue;
    //电池最大电量值
    int m_maxValue;
    //电池最小电量
    int m_minValue;
    //电池宽度
    int m_batteryWidth;
    //电池高度
    int m_batteryHeight;
};
#endif // WIDGET_H
